<?php

declare(strict_types=1);

namespace ImiApp\ApiServer\Api\Model\Base;

use Imi\Config\Annotation\ConfigValue;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Entity;
use Imi\Model\Annotation\Table;
use ImiApp\ImiServer\AbstractModel as Model;

/**
 * 拍卖 基类.
 *
 * @Entity(camel=false, bean=true, incrUpdate=false)
 * @Table(name=@ConfigValue(name="@app.models.ImiApp\ApiServer\Api\Model\Auction.name", default="fa_auction"), usePrefix=false, id={"id"}, dbPoolName=@ConfigValue(name="@app.models.ImiApp\ApiServer\Api\Model\Auction.poolName"))
 * @DDL(sql="CREATE TABLE `fa_auction` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(50) DEFAULT NULL COMMENT '拍卖名称',
  `store_id` int(10) DEFAULT NULL COMMENT '店铺id',
  `type_status` enum('1','2','3','4','5') DEFAULT NULL COMMENT '拍卖类型:1=贝壳竞拍,2=降价拍,3=升价拍,4=暗拍(降价拍),5=暗拍(升价拍)',
  `start_status` enum('time','number') DEFAULT NULL COMMENT '开始类型:time=时间,number=人数',
  `goods_id` int(10) DEFAULT NULL COMMENT '商品',
  `goods_sku_price_ids` varchar(255) DEFAULT NULL COMMENT '商品规格',
  `start_price` decimal(10,2) DEFAULT NULL COMMENT '起拍价格',
  `now_price` decimal(10,2) DEFAULT NULL COMMENT '最新价格',
  `minimum_price` decimal(10,2) DEFAULT NULL COMMENT '最低价格(保留价)',
  `plus_price` decimal(10,2) DEFAULT NULL COMMENT '加价幅度',
  `buyer_surety` decimal(10,2) DEFAULT NULL COMMENT '买家保证金',
  `out_perk_shell` decimal(10,2) DEFAULT NULL COMMENT '出局贝壳补贴',
  `enroll_out_perk_shell` decimal(10,2) DEFAULT NULL COMMENT '报名出局贝壳补贴',
  `enroll_score` decimal(10,2) DEFAULT NULL COMMENT '报名需要积分',
  `enroll_num` int(10) unsigned DEFAULT '0' COMMENT '开拍最低人数',
  `admission_score` decimal(10,2) DEFAULT NULL COMMENT '入场积分',
  `max_price` decimal(10,2) DEFAULT '0.00' COMMENT '最高成交价',
  `min_price` decimal(10,2) DEFAULT '0.00' COMMENT '最低成交价',
  `advance_show_s` int(10) DEFAULT NULL COMMENT '预展示多少s',
  `end_s` int(11) DEFAULT NULL COMMENT '结束时长',
  `start_time` int(11) DEFAULT NULL COMMENT '开始时间',
  `end_time` int(11) DEFAULT NULL COMMENT '结束时间',
  `cycle` int(10) DEFAULT '1' COMMENT '几个周期',
  `dispatch_ids` varchar(255) DEFAULT NULL COMMENT '发货模板',
  `rules` text COMMENT '活动规则',
  `createtime` int(11) DEFAULT NULL COMMENT '创建时间',
  `updatetime` int(11) DEFAULT NULL COMMENT '更新时间',
  `deletetime` int(11) DEFAULT NULL COMMENT '删除时间',
  `apply_status` enum('1','2','3') DEFAULT '1' COMMENT '申请状态:1=待审核,2=通过,3=拒绝',
  `auto_status` enum('1','2','3') DEFAULT '1' COMMENT '自动状态:1=非自动,2=自动',
  `status` enum('1','2','3','5','6','7') DEFAULT '1' COMMENT '状态:1=待展示,2=预展示,3=进行中,5=完成结束,6=已下架,7=流拍',
  `how_cycle` int(10) unsigned DEFAULT '1' COMMENT '第几个周期',
  `auction_advance_show_id` int(10) DEFAULT NULL COMMENT '预展示id',
  `auction_end_id` int(11) DEFAULT NULL COMMENT '结束时间id',
  `user_id` int(10) unsigned DEFAULT NULL COMMENT '领先用户',
  `pass_in_num` int(10) unsigned DEFAULT '0' COMMENT '流拍次数',
  `old_id` int(10) DEFAULT NULL COMMENT '原id',
  `change_price` decimal(10,2) DEFAULT NULL COMMENT '改价费',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='拍卖'", decode="")
 *
 * @property int|null $id 
 * @property string|null $title 拍卖名称
 * @property int|null $storeId 店铺id
 * @property string|null $typeStatus 拍卖类型:1=贝壳竞拍,2=降价拍,3=升价拍,4=暗拍(降价拍),5=暗拍(升价拍)
 * @property string|null $startStatus 开始类型:time=时间,number=人数
 * @property int|null $goodsId 商品
 * @property string|null $goodsSkuPriceIds 商品规格
 * @property string|float|int|null $startPrice 起拍价格
 * @property string|float|int|null $nowPrice 最新价格
 * @property string|float|int|null $minimumPrice 最低价格(保留价)
 * @property string|float|int|null $plusPrice 加价幅度
 * @property string|float|int|null $buyerSurety 买家保证金
 * @property string|float|int|null $outPerkShell 出局贝壳补贴
 * @property string|float|int|null $enrollOutPerkShell 报名出局贝壳补贴
 * @property string|float|int|null $enrollScore 报名需要积分
 * @property int|null $enrollNum 开拍最低人数
 * @property string|float|int|null $admissionScore 入场积分
 * @property string|float|int|null $maxPrice 最高成交价
 * @property string|float|int|null $minPrice 最低成交价
 * @property int|null $advanceShowS 预展示多少s
 * @property int|null $endS 结束时长
 * @property int|null $startTime 开始时间
 * @property int|null $endTime 结束时间
 * @property int|null $cycle 几个周期
 * @property string|null $dispatchIds 发货模板
 * @property string|null $rules 活动规则
 * @property int|null $createtime 创建时间
 * @property int|null $updatetime 更新时间
 * @property int|null $deletetime 删除时间
 * @property string|null $applyStatus 申请状态:1=待审核,2=通过,3=拒绝
 * @property string|null $autoStatus 自动状态:1=非自动,2=自动
 * @property string|null $status 状态:1=待展示,2=预展示,3=进行中,5=完成结束,6=已下架,7=流拍
 * @property int|null $howCycle 第几个周期
 * @property int|null $auctionAdvanceShowId 预展示id
 * @property int|null $auctionEndId 结束时间id
 * @property int|null $userId 领先用户
 * @property int|null $passInNum 流拍次数
 * @property int|null $oldId 原id
 * @property string|float|int|null $changePrice 改价费
 */
abstract class AuctionBase extends Model
{
    /**
     * {@inheritdoc}
     */
    public const PRIMARY_KEY = 'id';

    /**
     * {@inheritdoc}
     */
    public const PRIMARY_KEYS = ["id"];

    /**
     * id.
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $id = NULL;

    /**
     * 获取 id.
     *
     * @return int|null
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * 赋值 id.
     * @param int|null $id id
     * @return static
     */
    public function setId($id)
    {
        $this->id = null === $id ? null : (int)$id;
        return $this;
    }

    /**
     * 拍卖名称.
     * title
     * @Column(name="title", type="varchar", length=50, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $title = NULL;

    /**
     * 获取 title - 拍卖名称.
     *
     * @return string|null
     */
    public function getTitle(): ?string
    {
        return $this->title;
    }

    /**
     * 赋值 title - 拍卖名称.
     * @param string|null $title title
     * @return static
     */
    public function setTitle($title)
    {
        $this->title = null === $title ? null : (string)$title;
        return $this;
    }

    /**
     * 店铺id.
     * store_id
     * @Column(name="store_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $storeId = NULL;

    /**
     * 获取 storeId - 店铺id.
     *
     * @return int|null
     */
    public function getStoreId(): ?int
    {
        return $this->storeId;
    }

    /**
     * 赋值 storeId - 店铺id.
     * @param int|null $storeId store_id
     * @return static
     */
    public function setStoreId($storeId)
    {
        $this->storeId = null === $storeId ? null : (int)$storeId;
        return $this;
    }

    /**
     * 拍卖类型:1=贝壳竞拍,2=降价拍,3=升价拍,4=暗拍(降价拍),5=暗拍(升价拍).
     * type_status
     * @Column(name="type_status", type="enum", length=0, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $typeStatus = NULL;

    /**
     * 获取 typeStatus - 拍卖类型:1=贝壳竞拍,2=降价拍,3=升价拍,4=暗拍(降价拍),5=暗拍(升价拍).
     *
     * @return string|null
     */
    public function getTypeStatus(): ?string
    {
        return $this->typeStatus;
    }

    /**
     * 赋值 typeStatus - 拍卖类型:1=贝壳竞拍,2=降价拍,3=升价拍,4=暗拍(降价拍),5=暗拍(升价拍).
     * @param string|null $typeStatus type_status
     * @return static
     */
    public function setTypeStatus($typeStatus)
    {
        $this->typeStatus = null === $typeStatus ? null : (string)$typeStatus;
        return $this;
    }

    /**
     * 开始类型:time=时间,number=人数.
     * start_status
     * @Column(name="start_status", type="enum", length=0, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $startStatus = NULL;

    /**
     * 获取 startStatus - 开始类型:time=时间,number=人数.
     *
     * @return string|null
     */
    public function getStartStatus(): ?string
    {
        return $this->startStatus;
    }

    /**
     * 赋值 startStatus - 开始类型:time=时间,number=人数.
     * @param string|null $startStatus start_status
     * @return static
     */
    public function setStartStatus($startStatus)
    {
        $this->startStatus = null === $startStatus ? null : (string)$startStatus;
        return $this;
    }

    /**
     * 商品.
     * goods_id
     * @Column(name="goods_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $goodsId = NULL;

    /**
     * 获取 goodsId - 商品.
     *
     * @return int|null
     */
    public function getGoodsId(): ?int
    {
        return $this->goodsId;
    }

    /**
     * 赋值 goodsId - 商品.
     * @param int|null $goodsId goods_id
     * @return static
     */
    public function setGoodsId($goodsId)
    {
        $this->goodsId = null === $goodsId ? null : (int)$goodsId;
        return $this;
    }

    /**
     * 商品规格.
     * goods_sku_price_ids
     * @Column(name="goods_sku_price_ids", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $goodsSkuPriceIds = NULL;

    /**
     * 获取 goodsSkuPriceIds - 商品规格.
     *
     * @return string|null
     */
    public function getGoodsSkuPriceIds(): ?string
    {
        return $this->goodsSkuPriceIds;
    }

    /**
     * 赋值 goodsSkuPriceIds - 商品规格.
     * @param string|null $goodsSkuPriceIds goods_sku_price_ids
     * @return static
     */
    public function setGoodsSkuPriceIds($goodsSkuPriceIds)
    {
        $this->goodsSkuPriceIds = null === $goodsSkuPriceIds ? null : (string)$goodsSkuPriceIds;
        return $this;
    }

    /**
     * 起拍价格.
     * start_price
     * @Column(name="start_price", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $startPrice = NULL;

    /**
     * 获取 startPrice - 起拍价格.
     *
     * @return string|float|int|null
     */
    public function getStartPrice()
    {
        return $this->startPrice;
    }

    /**
     * 赋值 startPrice - 起拍价格.
     * @param string|float|int|null $startPrice start_price
     * @return static
     */
    public function setStartPrice($startPrice)
    {
        $this->startPrice = null === $startPrice ? null : $startPrice;
        return $this;
    }

    /**
     * 最新价格.
     * now_price
     * @Column(name="now_price", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $nowPrice = NULL;

    /**
     * 获取 nowPrice - 最新价格.
     *
     * @return string|float|int|null
     */
    public function getNowPrice()
    {
        return $this->nowPrice;
    }

    /**
     * 赋值 nowPrice - 最新价格.
     * @param string|float|int|null $nowPrice now_price
     * @return static
     */
    public function setNowPrice($nowPrice)
    {
        $this->nowPrice = null === $nowPrice ? null : $nowPrice;
        return $this;
    }

    /**
     * 最低价格(保留价).
     * minimum_price
     * @Column(name="minimum_price", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $minimumPrice = NULL;

    /**
     * 获取 minimumPrice - 最低价格(保留价).
     *
     * @return string|float|int|null
     */
    public function getMinimumPrice()
    {
        return $this->minimumPrice;
    }

    /**
     * 赋值 minimumPrice - 最低价格(保留价).
     * @param string|float|int|null $minimumPrice minimum_price
     * @return static
     */
    public function setMinimumPrice($minimumPrice)
    {
        $this->minimumPrice = null === $minimumPrice ? null : $minimumPrice;
        return $this;
    }

    /**
     * 加价幅度.
     * plus_price
     * @Column(name="plus_price", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $plusPrice = NULL;

    /**
     * 获取 plusPrice - 加价幅度.
     *
     * @return string|float|int|null
     */
    public function getPlusPrice()
    {
        return $this->plusPrice;
    }

    /**
     * 赋值 plusPrice - 加价幅度.
     * @param string|float|int|null $plusPrice plus_price
     * @return static
     */
    public function setPlusPrice($plusPrice)
    {
        $this->plusPrice = null === $plusPrice ? null : $plusPrice;
        return $this;
    }

    /**
     * 买家保证金.
     * buyer_surety
     * @Column(name="buyer_surety", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $buyerSurety = NULL;

    /**
     * 获取 buyerSurety - 买家保证金.
     *
     * @return string|float|int|null
     */
    public function getBuyerSurety()
    {
        return $this->buyerSurety;
    }

    /**
     * 赋值 buyerSurety - 买家保证金.
     * @param string|float|int|null $buyerSurety buyer_surety
     * @return static
     */
    public function setBuyerSurety($buyerSurety)
    {
        $this->buyerSurety = null === $buyerSurety ? null : $buyerSurety;
        return $this;
    }

    /**
     * 出局贝壳补贴.
     * out_perk_shell
     * @Column(name="out_perk_shell", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $outPerkShell = NULL;

    /**
     * 获取 outPerkShell - 出局贝壳补贴.
     *
     * @return string|float|int|null
     */
    public function getOutPerkShell()
    {
        return $this->outPerkShell;
    }

    /**
     * 赋值 outPerkShell - 出局贝壳补贴.
     * @param string|float|int|null $outPerkShell out_perk_shell
     * @return static
     */
    public function setOutPerkShell($outPerkShell)
    {
        $this->outPerkShell = null === $outPerkShell ? null : $outPerkShell;
        return $this;
    }

    /**
     * 报名出局贝壳补贴.
     * enroll_out_perk_shell
     * @Column(name="enroll_out_perk_shell", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $enrollOutPerkShell = NULL;

    /**
     * 获取 enrollOutPerkShell - 报名出局贝壳补贴.
     *
     * @return string|float|int|null
     */
    public function getEnrollOutPerkShell()
    {
        return $this->enrollOutPerkShell;
    }

    /**
     * 赋值 enrollOutPerkShell - 报名出局贝壳补贴.
     * @param string|float|int|null $enrollOutPerkShell enroll_out_perk_shell
     * @return static
     */
    public function setEnrollOutPerkShell($enrollOutPerkShell)
    {
        $this->enrollOutPerkShell = null === $enrollOutPerkShell ? null : $enrollOutPerkShell;
        return $this;
    }

    /**
     * 报名需要积分.
     * enroll_score
     * @Column(name="enroll_score", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $enrollScore = NULL;

    /**
     * 获取 enrollScore - 报名需要积分.
     *
     * @return string|float|int|null
     */
    public function getEnrollScore()
    {
        return $this->enrollScore;
    }

    /**
     * 赋值 enrollScore - 报名需要积分.
     * @param string|float|int|null $enrollScore enroll_score
     * @return static
     */
    public function setEnrollScore($enrollScore)
    {
        $this->enrollScore = null === $enrollScore ? null : $enrollScore;
        return $this;
    }

    /**
     * 开拍最低人数.
     * enroll_num
     * @Column(name="enroll_num", type="int", length=10, accuracy=0, nullable=true, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $enrollNum = 0;

    /**
     * 获取 enrollNum - 开拍最低人数.
     *
     * @return int|null
     */
    public function getEnrollNum(): ?int
    {
        return $this->enrollNum;
    }

    /**
     * 赋值 enrollNum - 开拍最低人数.
     * @param int|null $enrollNum enroll_num
     * @return static
     */
    public function setEnrollNum($enrollNum)
    {
        $this->enrollNum = null === $enrollNum ? null : (int)$enrollNum;
        return $this;
    }

    /**
     * 入场积分.
     * admission_score
     * @Column(name="admission_score", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $admissionScore = NULL;

    /**
     * 获取 admissionScore - 入场积分.
     *
     * @return string|float|int|null
     */
    public function getAdmissionScore()
    {
        return $this->admissionScore;
    }

    /**
     * 赋值 admissionScore - 入场积分.
     * @param string|float|int|null $admissionScore admission_score
     * @return static
     */
    public function setAdmissionScore($admissionScore)
    {
        $this->admissionScore = null === $admissionScore ? null : $admissionScore;
        return $this;
    }

    /**
     * 最高成交价.
     * max_price
     * @Column(name="max_price", type="decimal", length=10, accuracy=2, nullable=true, default="0.00", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $maxPrice = NULL;

    /**
     * 获取 maxPrice - 最高成交价.
     *
     * @return string|float|int|null
     */
    public function getMaxPrice()
    {
        return $this->maxPrice;
    }

    /**
     * 赋值 maxPrice - 最高成交价.
     * @param string|float|int|null $maxPrice max_price
     * @return static
     */
    public function setMaxPrice($maxPrice)
    {
        $this->maxPrice = null === $maxPrice ? null : $maxPrice;
        return $this;
    }

    /**
     * 最低成交价.
     * min_price
     * @Column(name="min_price", type="decimal", length=10, accuracy=2, nullable=true, default="0.00", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $minPrice = NULL;

    /**
     * 获取 minPrice - 最低成交价.
     *
     * @return string|float|int|null
     */
    public function getMinPrice()
    {
        return $this->minPrice;
    }

    /**
     * 赋值 minPrice - 最低成交价.
     * @param string|float|int|null $minPrice min_price
     * @return static
     */
    public function setMinPrice($minPrice)
    {
        $this->minPrice = null === $minPrice ? null : $minPrice;
        return $this;
    }

    /**
     * 预展示多少s.
     * advance_show_s
     * @Column(name="advance_show_s", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $advanceShowS = NULL;

    /**
     * 获取 advanceShowS - 预展示多少s.
     *
     * @return int|null
     */
    public function getAdvanceShowS(): ?int
    {
        return $this->advanceShowS;
    }

    /**
     * 赋值 advanceShowS - 预展示多少s.
     * @param int|null $advanceShowS advance_show_s
     * @return static
     */
    public function setAdvanceShowS($advanceShowS)
    {
        $this->advanceShowS = null === $advanceShowS ? null : (int)$advanceShowS;
        return $this;
    }

    /**
     * 结束时长.
     * end_s
     * @Column(name="end_s", type="int", length=11, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $endS = NULL;

    /**
     * 获取 endS - 结束时长.
     *
     * @return int|null
     */
    public function getEndS(): ?int
    {
        return $this->endS;
    }

    /**
     * 赋值 endS - 结束时长.
     * @param int|null $endS end_s
     * @return static
     */
    public function setEndS($endS)
    {
        $this->endS = null === $endS ? null : (int)$endS;
        return $this;
    }

    /**
     * 开始时间.
     * start_time
     * @Column(name="start_time", type="int", length=11, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $startTime = NULL;

    /**
     * 获取 startTime - 开始时间.
     *
     * @return int|null
     */
    public function getStartTime(): ?int
    {
        return $this->startTime;
    }

    /**
     * 赋值 startTime - 开始时间.
     * @param int|null $startTime start_time
     * @return static
     */
    public function setStartTime($startTime)
    {
        $this->startTime = null === $startTime ? null : (int)$startTime;
        return $this;
    }

    /**
     * 结束时间.
     * end_time
     * @Column(name="end_time", type="int", length=11, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $endTime = NULL;

    /**
     * 获取 endTime - 结束时间.
     *
     * @return int|null
     */
    public function getEndTime(): ?int
    {
        return $this->endTime;
    }

    /**
     * 赋值 endTime - 结束时间.
     * @param int|null $endTime end_time
     * @return static
     */
    public function setEndTime($endTime)
    {
        $this->endTime = null === $endTime ? null : (int)$endTime;
        return $this;
    }

    /**
     * 几个周期.
     * cycle
     * @Column(name="cycle", type="int", length=10, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $cycle = 1;

    /**
     * 获取 cycle - 几个周期.
     *
     * @return int|null
     */
    public function getCycle(): ?int
    {
        return $this->cycle;
    }

    /**
     * 赋值 cycle - 几个周期.
     * @param int|null $cycle cycle
     * @return static
     */
    public function setCycle($cycle)
    {
        $this->cycle = null === $cycle ? null : (int)$cycle;
        return $this;
    }

    /**
     * 发货模板.
     * dispatch_ids
     * @Column(name="dispatch_ids", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $dispatchIds = NULL;

    /**
     * 获取 dispatchIds - 发货模板.
     *
     * @return string|null
     */
    public function getDispatchIds(): ?string
    {
        return $this->dispatchIds;
    }

    /**
     * 赋值 dispatchIds - 发货模板.
     * @param string|null $dispatchIds dispatch_ids
     * @return static
     */
    public function setDispatchIds($dispatchIds)
    {
        $this->dispatchIds = null === $dispatchIds ? null : (string)$dispatchIds;
        return $this;
    }

    /**
     * 活动规则.
     * rules
     * @Column(name="rules", type="text", length=0, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $rules = NULL;

    /**
     * 获取 rules - 活动规则.
     *
     * @return string|null
     */
    public function getRules(): ?string
    {
        return $this->rules;
    }

    /**
     * 赋值 rules - 活动规则.
     * @param string|null $rules rules
     * @return static
     */
    public function setRules($rules)
    {
        $this->rules = null === $rules ? null : (string)$rules;
        return $this;
    }

    /**
     * 创建时间.
     * createtime
     * @Column(name="createtime", type="int", length=11, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $createtime = NULL;

    /**
     * 获取 createtime - 创建时间.
     *
     * @return int|null
     */
    public function getCreatetime(): ?int
    {
        return $this->createtime;
    }

    /**
     * 赋值 createtime - 创建时间.
     * @param int|null $createtime createtime
     * @return static
     */
    public function setCreatetime($createtime)
    {
        $this->createtime = null === $createtime ? null : (int)$createtime;
        return $this;
    }

    /**
     * 更新时间.
     * updatetime
     * @Column(name="updatetime", type="int", length=11, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $updatetime = NULL;

    /**
     * 获取 updatetime - 更新时间.
     *
     * @return int|null
     */
    public function getUpdatetime(): ?int
    {
        return $this->updatetime;
    }

    /**
     * 赋值 updatetime - 更新时间.
     * @param int|null $updatetime updatetime
     * @return static
     */
    public function setUpdatetime($updatetime)
    {
        $this->updatetime = null === $updatetime ? null : (int)$updatetime;
        return $this;
    }

    /**
     * 删除时间.
     * deletetime
     * @Column(name="deletetime", type="int", length=11, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $deletetime = NULL;

    /**
     * 获取 deletetime - 删除时间.
     *
     * @return int|null
     */
    public function getDeletetime(): ?int
    {
        return $this->deletetime;
    }

    /**
     * 赋值 deletetime - 删除时间.
     * @param int|null $deletetime deletetime
     * @return static
     */
    public function setDeletetime($deletetime)
    {
        $this->deletetime = null === $deletetime ? null : (int)$deletetime;
        return $this;
    }

    /**
     * 申请状态:1=待审核,2=通过,3=拒绝.
     * apply_status
     * @Column(name="apply_status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $applyStatus = '1';

    /**
     * 获取 applyStatus - 申请状态:1=待审核,2=通过,3=拒绝.
     *
     * @return string|null
     */
    public function getApplyStatus(): ?string
    {
        return $this->applyStatus;
    }

    /**
     * 赋值 applyStatus - 申请状态:1=待审核,2=通过,3=拒绝.
     * @param string|null $applyStatus apply_status
     * @return static
     */
    public function setApplyStatus($applyStatus)
    {
        $this->applyStatus = null === $applyStatus ? null : (string)$applyStatus;
        return $this;
    }

    /**
     * 自动状态:1=非自动,2=自动.
     * auto_status
     * @Column(name="auto_status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $autoStatus = '1';

    /**
     * 获取 autoStatus - 自动状态:1=非自动,2=自动.
     *
     * @return string|null
     */
    public function getAutoStatus(): ?string
    {
        return $this->autoStatus;
    }

    /**
     * 赋值 autoStatus - 自动状态:1=非自动,2=自动.
     * @param string|null $autoStatus auto_status
     * @return static
     */
    public function setAutoStatus($autoStatus)
    {
        $this->autoStatus = null === $autoStatus ? null : (string)$autoStatus;
        return $this;
    }

    /**
     * 状态:1=待展示,2=预展示,3=进行中,5=完成结束,6=已下架,7=流拍.
     * status
     * @Column(name="status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $status = '1';

    /**
     * 获取 status - 状态:1=待展示,2=预展示,3=进行中,5=完成结束,6=已下架,7=流拍.
     *
     * @return string|null
     */
    public function getStatus(): ?string
    {
        return $this->status;
    }

    /**
     * 赋值 status - 状态:1=待展示,2=预展示,3=进行中,5=完成结束,6=已下架,7=流拍.
     * @param string|null $status status
     * @return static
     */
    public function setStatus($status)
    {
        $this->status = null === $status ? null : (string)$status;
        return $this;
    }

    /**
     * 第几个周期.
     * how_cycle
     * @Column(name="how_cycle", type="int", length=10, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $howCycle = 1;

    /**
     * 获取 howCycle - 第几个周期.
     *
     * @return int|null
     */
    public function getHowCycle(): ?int
    {
        return $this->howCycle;
    }

    /**
     * 赋值 howCycle - 第几个周期.
     * @param int|null $howCycle how_cycle
     * @return static
     */
    public function setHowCycle($howCycle)
    {
        $this->howCycle = null === $howCycle ? null : (int)$howCycle;
        return $this;
    }

    /**
     * 预展示id.
     * auction_advance_show_id
     * @Column(name="auction_advance_show_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $auctionAdvanceShowId = NULL;

    /**
     * 获取 auctionAdvanceShowId - 预展示id.
     *
     * @return int|null
     */
    public function getAuctionAdvanceShowId(): ?int
    {
        return $this->auctionAdvanceShowId;
    }

    /**
     * 赋值 auctionAdvanceShowId - 预展示id.
     * @param int|null $auctionAdvanceShowId auction_advance_show_id
     * @return static
     */
    public function setAuctionAdvanceShowId($auctionAdvanceShowId)
    {
        $this->auctionAdvanceShowId = null === $auctionAdvanceShowId ? null : (int)$auctionAdvanceShowId;
        return $this;
    }

    /**
     * 结束时间id.
     * auction_end_id
     * @Column(name="auction_end_id", type="int", length=11, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $auctionEndId = NULL;

    /**
     * 获取 auctionEndId - 结束时间id.
     *
     * @return int|null
     */
    public function getAuctionEndId(): ?int
    {
        return $this->auctionEndId;
    }

    /**
     * 赋值 auctionEndId - 结束时间id.
     * @param int|null $auctionEndId auction_end_id
     * @return static
     */
    public function setAuctionEndId($auctionEndId)
    {
        $this->auctionEndId = null === $auctionEndId ? null : (int)$auctionEndId;
        return $this;
    }

    /**
     * 领先用户.
     * user_id
     * @Column(name="user_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $userId = NULL;

    /**
     * 获取 userId - 领先用户.
     *
     * @return int|null
     */
    public function getUserId(): ?int
    {
        return $this->userId;
    }

    /**
     * 赋值 userId - 领先用户.
     * @param int|null $userId user_id
     * @return static
     */
    public function setUserId($userId)
    {
        $this->userId = null === $userId ? null : (int)$userId;
        return $this;
    }

    /**
     * 流拍次数.
     * pass_in_num
     * @Column(name="pass_in_num", type="int", length=10, accuracy=0, nullable=true, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $passInNum = 0;

    /**
     * 获取 passInNum - 流拍次数.
     *
     * @return int|null
     */
    public function getPassInNum(): ?int
    {
        return $this->passInNum;
    }

    /**
     * 赋值 passInNum - 流拍次数.
     * @param int|null $passInNum pass_in_num
     * @return static
     */
    public function setPassInNum($passInNum)
    {
        $this->passInNum = null === $passInNum ? null : (int)$passInNum;
        return $this;
    }

    /**
     * 原id.
     * old_id
     * @Column(name="old_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $oldId = NULL;

    /**
     * 获取 oldId - 原id.
     *
     * @return int|null
     */
    public function getOldId(): ?int
    {
        return $this->oldId;
    }

    /**
     * 赋值 oldId - 原id.
     * @param int|null $oldId old_id
     * @return static
     */
    public function setOldId($oldId)
    {
        $this->oldId = null === $oldId ? null : (int)$oldId;
        return $this;
    }

    /**
     * 改价费.
     * change_price
     * @Column(name="change_price", type="decimal", length=10, accuracy=2, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $changePrice = NULL;

    /**
     * 获取 changePrice - 改价费.
     *
     * @return string|float|int|null
     */
    public function getChangePrice()
    {
        return $this->changePrice;
    }

    /**
     * 赋值 changePrice - 改价费.
     * @param string|float|int|null $changePrice change_price
     * @return static
     */
    public function setChangePrice($changePrice)
    {
        $this->changePrice = null === $changePrice ? null : $changePrice;
        return $this;
    }

}
